Markup Languages have attained wide popularity in recent years. One type of markup language, Extensible Markup Language (XML), is a universal language that provides a way to identify, exchange, and process various kinds of data. For example, XML is used to create documents that can be utilized by a variety of application programs. Elements of an XML file have an associated namespace and schema.
In XML, a namespace is a unique identifier for a collection of names that are used in XML documents as element types and attribute names. The name of a namespace is commonly used to uniquely identify each class of XML document. The unique namespaces differentiate markup elements that come from different sources and happen to have the same name.
XML Schemata provide a way to describe and validate data in an XML environment. A schema states what elements and attributes are used to describe content in an XML document, where each element is allowed, what types of text contents are allowed within it and which elements can appear within which other elements. The use of schemata ensures that the document is structured in a consistent manner. Schemata may be created by a user and generally supported by an associated markup language, such as XML. By using an XML editor, the user can manipulate the XML file and generate XML documents that adhere to the schema the user has created. XML documents may be created to adhere to one or more schemata.
Electronic documents are often edited by multiple users. For example, a document can be written by a reporter, and then modified by a news editor. In other cases, a former document can be provided by an employer, which is then “filled out” by employees. In such cases, it is desirable to only allow certain regions of the electronic document to be edited. In some cases, electronic documents may be edited by applications that do not “understand” the file protection scheme used by the application that was used to originally author the electronic documents. What is needed is a way to easily handle a variety of protection settings and editing rights when transforming a document into an ML format.